//
// File:	IAnimating.hpp
// Author:	Thomas TISSOT-DUPONT
// E-mail:	<thomas.tissotdupont@free.fr>
// Create:	01/02/2010 20:51:59
// Purpose:	
//
#ifndef IANIMATING_HPP
#define IANIMATING_HPP

#include <list>
#include <string>
#include "IAnimation.hpp"
#include "IRenderable.hpp"

class IAnimating : public IRenderable
{
public:
	virtual							~IAnimating() {}

public:
	virtual bool					LoadFromFile(const std::string &fileName) = 0;

public:
	virtual bool					PlayAnimation(const std::string &) = 0;
	virtual void					PauseAnimation() = 0;
	virtual void					ResumeAnimation() = 0;
	virtual void					StopAnimation() = 0;
	virtual IAnimation				*GetCurrentAnimation() const = 0;
	virtual IAnimation				*GetAnimationByName(const std::string &) const = 0;
	virtual bool					AddAnimation(IAnimation &) = 0;
	virtual int						GetFrameWidth() const = 0;
	virtual int						GetFrameHeight() const = 0;
};

#endif //!IANIMATING_HPP
